package calcsdk.nw;

import java.util.List;

/**
 *
 * @author Ivan
 */
public interface ITreePro {

    /**
     * Инициализировать список с решениями
     * @param patch 
     */
    public void linkPatch(List<int[]> patchs);

    /**
     * Событие при добавлении решения
     * @param curMin - Минимальный найденный путь
     */
    public void addPatch(float curMin, int[] patch);
    
    /**
     * Событие при нахождения зависания
     */
    public void bugPatch(List<Patch> bugPatch, int bugNode, String bugMatrix);

    /**
     * Событие при окончании решения
     */
    public void finish();

    public void finish(String out, boolean isPatch);
    
    public void finish(String out, boolean isPatch, float metl_arr[][]);

    /**
     * Событие для прогрессбара
     */
    public void incProgressBar();
    /**
     * Событие для старта
     */
    public void start();
    /**
     * Событие для вывода ошибки
     * @param str 
     */
    public void error(String str);
    
    public boolean isProcess();
    
}
